The present invention relates generally to data storage systems and more particularly to recovery in a data storage system when a primary system goes offline.
It is very popular to use RAID (redundant array of inexpensive disks) techniques in disk storage systems in order to secure the reliability and availability of data. In general, when disk storage systems create a RAID volume, they use several physical disk drives and store the divided data according to one of a number of RAID-defined techniques. There are six basic RAID levels:
RAID level 0 employs a data “striping” technique in which data is partitioned into a number of stripes which are stored across two or more disks. This RAID level does not provide for disk failure conditions.
RAID level 1 uses a data “mirroring” technique in which data is written to a primary disk and is also mirrored onto another disk. This technique realizes fifty percent efficiency in storage since only one-half of the total storage capacity is available.
RAID level 2 stripes data in bits or bytes and reads or writes the data to the disks in parallel. The data is used to create a hamming code which is stored in a separate disk drive, is used to provide error-correction.
RAID level 3 partitions a data block into stripes which are then striped across multiple disk drives. A separate parity drive is used to store the parity bytes associated with the data block. The parity drives can be used to reproduce data from a failed drive.
RAID level 4 writes an entire data block to a drive, and the corresponding parity data for the block is written on another drive.
RAID level 5 partitions a data block into stripes which are then striped across multiple disk drives. The corresponding parity information is also striped across the disk drives.
Some disk storage systems have an additional function which is to create multiple copy volumes (secondary volumes) for one primary RAID volume autonomously. This function is called “multiple volume mirroring.” Multiple volume mirroring has several characteristics including:                system administrators create “volume mirroring groups” which are comprised of one primary volume and one or more secondary volumes;        when a host system writes data to a primary volume, the disk control unit automatically writes the same data to the corresponding secondary volumes;        when a system administrator wants to use the data from a primary volume, she can use the data from an associated secondary volume instead of the primary volume. To accomplish this, the system administrator performs a “split” operation of the selected secondary volume from the volume mirroring groups.        
An advantage of multiple volume mirroring in computer systems is that it maintains the performance of host I/O accesses. For example, suppose that the host system(s) perform online transactions by accessing data from a primary volume. Suppose also that concurrent data backup operations of the primary volume are being performed. If the same primary volume is accessed for both handling online requests and performing backups, the host(s) would not be able to maintain the I/O throughput with the primary volume necessary to adequately handle online transactions in a real-time manner.
However, the performance of the primary volume can be maintained in a multiple volume mirroring arrangement by splitting one of the secondary volumes from the mirroring group and using it for the backup function. Host transactions continue concurrently without taking a performance hit.
Current disk systems which support a multiple volume mirroring function have a problem. When a primary volume fails or is taken offline for some reason, online transactions must cease, even though there may be several secondary volumes in that disk system. In order to re-assign one of the secondary volumes to take over the role of the primary volume, the system administrator must effectuate a split of the selected secondary volume. This requires that the system administrator take down the disk system in order to bring the secondary volume online. This can result in unacceptable delays in online transaction processing, for example, in a real-time financial processing system. There is a need for an improved disk system.